///**
// *
// *	起迪科技
// * Copyright (c) 2014-2018 QiDi,Inc.All Rights Reserved.
// */
//package cn.qidisoft.edu.hzjt.controller.projectmaterial;
//
//import java.io.File;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.PrintWriter;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.UUID;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//import org.apache.commons.io.FileUtils;
//import org.apache.commons.io.FilenameUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.ui.ModelMap;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.multipart.MultipartFile;
//
//import com.alibaba.fastjson.JSONObject;
//
//import cn.qidisoft.core.common.context.ApplicationContextConfigUtil;
//import cn.qidisoft.core.common.log.LoggerAdapter;
//import cn.qidisoft.core.common.log.LoggerAdapterFactory;
//import cn.qidisoft.core.common.pagination.Page;
//import cn.qidisoft.core.common.pagination.PaginationBean;
//import cn.qidisoft.core.util.bean.ZTreeNode;
//import cn.qidisoft.core.util.file.FileUtil;
//import cn.qidisoft.core.util.json.JsonBinder;
//import cn.qidisoft.core.util.uuid.UUIDGenerator;
//import cn.qidisoft.edu.hzjt.annotation.SysLogger;
//import cn.qidisoft.edu.hzjt.constants.Constant;
//import cn.qidisoft.edu.hzjt.controller.BaseController;
//import cn.qidisoft.edu.hzjt.model.Directory;
//import cn.qidisoft.edu.hzjt.model.Project;
//import cn.qidisoft.edu.hzjt.model.ProjectMaterial;
//import cn.qidisoft.edu.hzjt.model.ProjectMaterialFilepath;
//import cn.qidisoft.edu.hzjt.model.ResponseResult;
//import cn.qidisoft.edu.hzjt.model.UserEmployee;
//import cn.qidisoft.edu.hzjt.service.ICommonService;
//import cn.qidisoft.edu.hzjt.service.IDirectoryService;
//import cn.qidisoft.edu.hzjt.service.IProjectMaterialFilepathService;
//import cn.qidisoft.edu.hzjt.service.IProjectMaterialService;
//import cn.qidisoft.edu.hzjt.service.IProjectService;
//import cn.qidisoft.edu.hzjt.utils.LogType;
//
///**
// *
// * @author hhl
// * @version $Id: ProjectController.java, v 0.1 2018年10月23日 下午4:56:53 hhl Exp $
// */
//@Controller
//@RequestMapping(value = "projectmaterial")
//public class ProjectMaterialController {
//    protected static final LoggerAdapter                      LOGGER = LoggerAdapterFactory
//        .getLogger(LogType.HZJT_LOGGER.val);
//    @Autowired
//    private IProjectMaterialService                           projectMaterialService;
//
//    @Autowired
//    private IProjectMaterialFilepathService                   projectMaterialFilepathService;
//
//    @Autowired
//    private IDirectoryService                                 directoryService;
//
//    private static String                                     upload = null;
//
//    @Autowired
//    private ICommonService                                    commonService;
//
//    @Autowired
//    private IProjectService                                   projectService;
//
//    private static JsonBinder                                 binder = JsonBinder
//        .buildNonDefaultBinder();
//
//    private static Map<String, List<ProjectMaterialFilepath>> picMap = new HashMap<String, List<ProjectMaterialFilepath>>();
//
//    static {
//        upload = ApplicationContextConfigUtil.getString("file.path", null);
//    }
//
//    @RequestMapping(value = "/index")
//    public String index(ModelMap model, HttpServletRequest request) {
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//            picMap.remove(String.valueOf(userEmployee.getUserid()));
//
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            request.setAttribute("msg", BaseController.getParameter("msg"));
//            BaseController.removeParameter("msg");
//
//            Directory data = new Directory();
//            String level = "2";
//            if (userEmployee.getEmid() != null) {
//                data.setDirectoryPrincipal(String.valueOf(userEmployee.getEmid()));
//                data.setDirectoryId(Integer.valueOf(directoryId));
//                List<Directory> listdirectory_principal = directoryService
//                    .selecdirectory_principal(data);
//
//                if (listdirectory_principal != null && !listdirectory_principal.isEmpty()) {
//                    Directory directory = listdirectory_principal.get(0);
//                    if (directory != null && directory.getLevel().intValue() <= 1) {
//                        level = "2";
//                    } else {
//                        level = (directory.getLevel() + 1) + "";
//                    }
//                }
//            }
//
//            model.addAttribute("level", level);
//
//            return "projectmaterial/projectmaterialList";
//        } catch (Exception e) {
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//
//    }
//
//    @RequestMapping(value = "/List")
//    @ResponseBody
//    public ResponseResult List(ModelMap model, HttpServletRequest request,
//                               @RequestParam(value = "rows", required = false) String pageSize,
//                               @RequestParam(value = "page", required = false) String currentPage,
//                               @RequestParam(value = "directoryId", required = false) Integer directoryId,
//                               @RequestParam(value = "level", required = false) Integer level,
//                               ProjectMaterial data) {
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//            /*
//            if (userEmployee.getUserid().equals("admin")) {
//                Page page = new Page();
//                page.setCurrPage(currentPage == null ? 0 : Integer.valueOf(currentPage));
//                page.setPageSize(pageSize == null ? Constant.PageSize : Integer.valueOf(pageSize));
//                BaseController.setSortByColumn(request, "title", "asc");
//                data.setOrderField((String) request.getAttribute("orderField"));
//                data.setOrderFlag((String) request.getAttribute("orderFlag"));
//                 data.setDirectoryId(Integer.valueOf(directoryId));
//                PaginationBean<ProjectMaterial> paginationBean = projectMaterialService
//                    .queryPageList(data, page);
//
//                ResponseResult result = new ResponseResult();
//                result.setTotal(paginationBean.getTotalRecords());
//                result.setRows(paginationBean.getPageList());
//                return result;
//            } else {
//            */
//            Page page = new Page();
//            page.setCurrPage(currentPage == null ? 0 : Integer.valueOf(currentPage));
//            page.setPageSize(pageSize == null ? Constant.PageSize : Integer.valueOf(pageSize));
//            BaseController.setSortByColumn(request, "title", "asc");
//
//            if (request.getAttribute("orderField").equals("projectName")) {
//                data.setOrderField("project_name");
//            } else if (request.getAttribute("orderField").equals("directoryName")) {
//                data.setOrderField("directory_name");
//            } else if (request.getAttribute("orderField").equals("date")) {
//                data.setOrderField("date");
//            } else if (request.getAttribute("orderField").equals("type")) {
//                data.setOrderField("type");
//            } else if (request.getAttribute("orderField").equals("projectMaterialAddDate")) {
//                data.setOrderField("project_material_add_date");
//            } else {
//                data.setOrderField((String) request.getAttribute("orderField"));
//            }
//            /* data.setOrderField((String) request.getAttribute("orderField"));*/
//            data.setOrderFlag((String) request.getAttribute("orderFlag"));
//            data.setLevel(level);
//            data.setDirectoryId(directoryId);
//            data.setProjectMaterialPrincipal(String.valueOf(userEmployee.getEmid()));
//            data.setProjectMaterialAddPrincipal(String.valueOf(userEmployee.getUid()));
//            /*    data.setDirectoryAddPrincipal(userEmployee.getUid());*/
//
//            PaginationBean<ProjectMaterial> paginationBean = projectMaterialService
//                .queryPageList(data, page);
//
//            ResponseResult result = new ResponseResult();
//            if (paginationBean.getPageList().isEmpty()) {
//                result.setRows(new ArrayList<ProjectMaterial>());
//            } else {
//                result.setRows(paginationBean.getPageList());
//            }
//            result.setTotal(paginationBean.getTotalRecords());
//            return result;
//            /*
//            }*/
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//        }
//        return null;
//    }
//
//    @RequestMapping(value = "/addInInt")
//    public String addInInt(ModelMap model, HttpServletRequest request) {
//
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//            picMap.remove(String.valueOf(userEmployee.getUserid()));
//
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            String level = request.getParameter("level");
//            model.addAttribute("level", level);
//
//            Directory data = new Directory();
//            data.setDirectoryId(Integer.valueOf(directoryId));
//            java.util.List<Directory> listdata = directoryService.queryList(data);
//            model.addAttribute("Listdata", listdata);
//
//            /*     Directory data1 = new Directory();
//            if (userEmployee.getEmid() != null) {
//                data1.setEmpids(userEmployee.getEmid());
//            }
//            data1.setProjectId(Integer.valueOf(projectId));
//            data1.setDirectoryId(Integer.valueOf(directoryId));
//
//            List<Directory> list = directoryService.selectProjectByid(data1);
//            model.addAttribute("List", list);*/
//
//            request.setAttribute("msg", BaseController.getParameter("msg"));
//            BaseController.removeParameter("msg");
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            LOGGER.error("查询信息 update [{}] error," + this.getClass().getName() + "=[{}]",
//                this.getClass().getName(), e.getMessage());
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//        return "projectmaterial/addProjectMaterial";
//    }
//
//    /**
//    * 修改页面
//    *
//    * @param model
//    * @param request
//    * @param id
//    * @return
//    */
//    @RequestMapping(value = "/updateToview", method = RequestMethod.GET)
//    public String updateToview(ModelMap model, HttpServletRequest request,
//                               @RequestParam(value = "id") String id) {
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//            picMap.remove(String.valueOf(userEmployee.getUserid()));
//
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            model.addAttribute("level", request.getParameter("level"));
//
//            ProjectMaterial data = new ProjectMaterial();
//            data.setProjectMaterialId(id);
//            data = projectMaterialService.queryByPK(data);
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            data.setDate1(sdf.format(data.getDate()));
//            model.addAttribute("data", data);
//
//            /*  Directory data1 = new Directory();
//            if (userEmployee.getEmid() != null) {
//                data1.setEmpids(userEmployee.getEmid());
//            }
//            data1.setProjectId(Integer.valueOf(projectId));
//            data1.setDirectoryId(Integer.valueOf(directoryId));
//            List<Directory> list = directoryService.selectProjectByid(data1);
//            model.addAttribute("List", list);*/
//
//            ProjectMaterialFilepath noticeNewsFilepath = new ProjectMaterialFilepath();
//            noticeNewsFilepath.setProjectMaterialId(id);
//            List<ProjectMaterialFilepath> dataList = projectMaterialFilepathService
//                .queryList(noticeNewsFilepath);
//            model.addAttribute("dataList", dataList);
//            return "projectmaterial/updateProjectMaterial";
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    /**
//     * 详情页面
//     *
//     * @param model
//     * @param request
//     * @param id
//     * @return
//     */
//    @RequestMapping(value = "/details", method = RequestMethod.GET)
//    public String details(ModelMap model, HttpServletRequest request,
//                          @RequestParam(value = "id") String id) {
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//            picMap.remove(String.valueOf(userEmployee.getUserid()));
//
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            String level = request.getParameter("level");
//            model.addAttribute("level", level);
//
//            ProjectMaterial data = new ProjectMaterial();
//            data.setProjectMaterialId(id);
//            data = projectMaterialService.queryByPK(data);
//
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            data.setDate1(sdf.format(data.getDate()));
//            model.addAttribute("data", data);
//
//            ProjectMaterialFilepath noticeNewsFilepath = new ProjectMaterialFilepath();
//            noticeNewsFilepath.setProjectMaterialId(id);
//            List<ProjectMaterialFilepath> dataList = projectMaterialFilepathService
//                .queryList(noticeNewsFilepath);
//            model.addAttribute("dataList", dataList);
//
//            return "projectmaterial/detailsProjectMaterial";
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    /**
//     * 新增删除
//     *
//     * @param file
//     * @param request
//     * @param response
//     */
//    @RequestMapping(value = "/source_upload", method = RequestMethod.POST)
//    public @ResponseBody void loadFile(@RequestParam("file") MultipartFile file,
//                                       HttpServletRequest request, HttpServletResponse response) {
//
//        List<ProjectMaterialFilepath> list = new ArrayList<ProjectMaterialFilepath>();
//
//        UserEmployee userEmployee = (UserEmployee) request.getSession()
//            .getAttribute(Constant.LOGIN_CONSOLE_USER);
//
//        List<ProjectMaterialFilepath> docFileResourceList = picMap
//            .get(String.valueOf(userEmployee.getUserid()));
//        //本地env配置路径
//        String path = upload;
//
//        ProjectMaterialFilepath docFile = new ProjectMaterialFilepath();
//        if (!file.isEmpty()) {
//            // 文件的大小
//            docFile
//                .setFilesize(String.valueOf(FileUtil.FormetFileSize(Long.valueOf(file.getSize()))));
//
//            String name = file.getOriginalFilename();// 获取上传文件名
//
//            docFile.setFilename(name);
//
//            String uuid = UUID.randomUUID().toString();
//
//            //获取文件后缀名称
//            String extend = FilenameUtils.getExtension(name);
//
//            //文件路径
//            docFile.setFilepath(uuid + "/" + uuid + "." + extend);
//            // 系统文件名称带点
//            docFile.setSysfilepath(
//                path + File.separator + uuid + File.separator + uuid + "." + extend);
//            //文件名称
//            docFile.setFilename(uuid);
//            //上传时间
//            docFile.setUploadtime(new Date());
//            //获取文件类型
//            docFile.setEntrytype(FileUtil.getFileExtendName(name).toLowerCase());
//
//            docFile.setFileNaneuuid(uuid);
//
//            docFile.setMufile(file);
//            try {
//                docFile.setInputStream(file.getInputStream());
//            } catch (IOException e) {
//            }
//
//            if (docFileResourceList != null && docFileResourceList.size() > 0) {
//                docFileResourceList.add(docFile);
//                picMap.put(String.valueOf(userEmployee.getUserid()), docFileResourceList);
//            } else {
//                list.add(docFile);
//                picMap.put(String.valueOf(userEmployee.getUserid()), list);
//            }
//            LOGGER.info("附件上传成功！");
//        }
//        PrintWriter writer = null;
//        try {
//
//            ProjectMaterialFilepath docFile2 = new ProjectMaterialFilepath();
//            docFile2.setFilepath(docFile.getFilepath());
//            // 系统文件名称带点
//            docFile2.setSysfilepath(docFile.getSysfilepath());
//            //文件名称
//            docFile2.setFilename(docFile.getFilename());
//            //上传时间
//            docFile2.setUploadtime(docFile.getUploadtime());
//            //获取文件类型
//            docFile2.setEntrytype(docFile.getEntrytype());
//            //根据id生成名字不带后缀
//            docFile2.setFileNaneuuid(docFile.getFileNaneuuid());
//
//            writer = (PrintWriter) response.getWriter();
//            String json = JSONObject.toJSONString(docFile2);
//            writer.write(json);
//            writer.flush();
//            writer.close();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 新增删除服务器的文件
//     *
//     * @param request
//     * @return
//     */
//    @RequestMapping(value = "/deletefile", method = RequestMethod.POST)
//    public @ResponseBody Map<String, Object> deleteFile(HttpServletRequest request) {
//
//        Map<String, Object> dataMap = new HashMap<String, Object>();
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//
//            //env配置路径
//            String path = upload;
//
//            String filepath = request.getParameter("filepath");
//            LOGGER.info("文件的原始路径===" + filepath);
//            // 文件的全路径
//            String fullpath = null;
//            // 文件名称
//            String filename = null;
//            // 文件名无后缀
//            String fileNoSuffix = null;
//
//            if (filepath.indexOf("prefix") == -1) {
//                // 文件的文件名称
//                fileNoSuffix = filepath.split(",")[0];
//                String sec = filepath.split(",")[1];
//                // 文件的后缀
//                String suffix = sec.substring(sec.indexOf("."));
//                // 文件名无后缀加上后缀
//                filename = fileNoSuffix + suffix;
//                // 文件的全路径
//                fullpath = path + "/" + fileNoSuffix;
//                //  FileUtil.deleteFile(fullpath, filename);//删除文件目录下面的文件
//                // FileUtils.forceDelete(new File(fullpath)); //删除文件目录
//            } else {
//                return dataMap;
//            }
//
//            List<ProjectMaterialFilepath> noticeNewsFilepathList = picMap
//                .get(String.valueOf(userEmployee.getUserid()));
//
//            // 删除list里面前台删除的前台信息图片附件表
//            if (noticeNewsFilepathList != null && !noticeNewsFilepathList.isEmpty()) {
//                for (ProjectMaterialFilepath noticenewsfilepath : noticeNewsFilepathList) {
//                    if (noticenewsfilepath.getFilename().equals(fileNoSuffix)) {
//                        noticeNewsFilepathList.remove(noticenewsfilepath);
//                        break;
//                    }
//                }
//            }
//            // 先删除
//            picMap.remove(userEmployee.getUserid());
//            // 后添加
//            picMap.put(String.valueOf(userEmployee.getUserid()), noticeNewsFilepathList);
//            dataMap.put("success", "0000");
//            return dataMap;
//        } catch (Exception e) {
//            dataMap.put("success", "-9999");
//            return dataMap;
//        }
//    }
//
//    @SysLogger(description = "材料管理", moduleName = "材料管理", method = "添加")
//    @RequestMapping(value = "/add", method = RequestMethod.POST)
//    public String add(ModelMap model, HttpServletRequest request, ProjectMaterial data) {
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//
//            String level = request.getParameter("level");
//            data.setProjectMaterialId(UUIDGenerator.genReqID());
//            data.setProjectMaterialAddDate(new Date());
//            data.setState(0);
//            data.setType(data.getProjectMaterial_type());
//            data.setLevel(Integer.valueOf(level).intValue());
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            data.setDate(sdf.parse(data.getDate1()));
//            data.setProjectMaterialAddPrincipal(String.valueOf(userEmployee.getUid()));
//
//            if (data.getProjectMaterialPrincipal() == null
//                || data.getProjectMaterialPrincipal().equals("")) {
//                data.setProjectMaterialPrincipal(String.valueOf(userEmployee.getEmid()));
//            }
//
//            projectMaterialService.add(data);
//
//            String path = upload;
//            List<ProjectMaterialFilepath> docFileResourceList = picMap
//                .get(String.valueOf(userEmployee.getUserid()));
//            if (docFileResourceList != null && !docFileResourceList.isEmpty()) {
//                MultipartFile file = null;
//                for (ProjectMaterialFilepath r : docFileResourceList) {
//                    file = r.getMufile();
//                    String name = file.getOriginalFilename();// 获取上传文件名
//                    InputStream in = r.getInputStream();// 获取文件对象
//                    int pos = name.lastIndexOf(".");
//                    String lastname = name.substring(pos, name.length());
//                    //文件保存的路径
//                    String savePath = path + File.separator + r.getFileNaneuuid();
//                    FileUtil.saveFile(savePath, in, r.getFileNaneuuid() + lastname);
//                    r.setProjectMaterialId(data.getProjectMaterialId());//添加id
//                    r.setDirectoryMaterialFilepathId(r.getFileNaneuuid());//附件id
//                    r.setFilename(name);
//                    projectMaterialFilepathService.add(r);
//                }
//            }
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            model.addAttribute("id", data.getProjectMaterialId());
//            model.addAttribute("level", level);
//            return "redirect:details";
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    @SysLogger(description = "材料管理", moduleName = "材料管理", method = "新增")
//    @RequestMapping(value = "/addSaveContinue", method = RequestMethod.POST)
//    public String addSaveContinue(ModelMap model, HttpServletRequest request,
//                                  ProjectMaterial data) {
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//
//            String level = request.getParameter("level");
//            data.setProjectMaterialId(UUIDGenerator.genReqID());
//            data.setProjectMaterialAddDate(new Date());
//            data.setState(0);
//            data.setLevel(Integer.valueOf(level));
//            data.setType(data.getProjectMaterial_type());
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            data.setDate(sdf.parse(data.getDate1()));
//            data.setProjectMaterialAddPrincipal(String.valueOf(userEmployee.getUid()));
//
//            if (data.getProjectMaterialPrincipal() == null
//                || data.getProjectMaterialPrincipal().equals("")) {
//                data.setProjectMaterialPrincipal(String.valueOf(userEmployee.getEmid()));
//            }
//            projectMaterialService.add(data);
//
//            String path = upload;
//            List<ProjectMaterialFilepath> docFileResourceList = picMap
//                .get(String.valueOf(userEmployee.getUserid()));
//            if (docFileResourceList != null && !docFileResourceList.isEmpty()) {
//                MultipartFile file = null;
//                for (ProjectMaterialFilepath r : docFileResourceList) {
//                    file = r.getMufile();
//                    String name = file.getOriginalFilename();// 获取上传文件名
//                    InputStream in = r.getInputStream();// 获取文件对象
//                    int pos = name.lastIndexOf(".");
//                    String lastname = name.substring(pos, name.length());
//                    //文件保存的路径
//                    String savePath = path + File.separator + r.getFileNaneuuid();
//                    FileUtil.saveFile(savePath, in, r.getFileNaneuuid() + lastname);
//                    r.setProjectMaterialId(data.getProjectMaterialId());//添加id
//                    r.setDirectoryMaterialFilepathId(r.getFileNaneuuid());//附件id
//                    r.setFilename(name);
//                    projectMaterialFilepathService.add(r);
//                }
//            }
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            model.addAttribute("level", level);
//            BaseController.setParameter("msg", "保存成功");
//            return "redirect:addInInt";
//        } catch (Exception e) {
//            e.printStackTrace();
//            LOGGER.error("添加目录信息 add [{}] error," + this.getClass().getName() + "=[{}]",
//                this.getClass().getName(), e.getMessage());
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    @SysLogger(description = "材料管理", moduleName = "材料管理", method = "修改")
//    @RequestMapping(value = "/update", method = RequestMethod.POST)
//    public String update(ModelMap model, HttpServletRequest request, ProjectMaterial data) {
//        try {
//            UserEmployee userEmployee = (UserEmployee) request.getSession()
//                .getAttribute(Constant.LOGIN_CONSOLE_USER);
//
//            data.setProjectMaterialAddDate(new Date());
//            data.setState(0);
//            data.setType(data.getProjectMaterial_type());
//            /* data.setLevel(2);*/
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            data.setDate(sdf.parse(data.getDate1()));
//
//            if (data.getProjectMaterialPrincipal() == null
//                || data.getProjectMaterialPrincipal().equals("")) {
//                data.setProjectMaterialPrincipal(String.valueOf(userEmployee.getEmid()));
//            }
//            projectMaterialService.update(data);
//
//            String path = upload;
//            List<ProjectMaterialFilepath> docFileResourceList = picMap
//                .get(String.valueOf(userEmployee.getUserid()));
//            if (docFileResourceList != null && !docFileResourceList.isEmpty()) {
//                MultipartFile file = null;
//                for (ProjectMaterialFilepath r : docFileResourceList) {
//                    file = r.getMufile();
//                    String name = file.getOriginalFilename();// 获取上传文件名
//                    InputStream in = r.getInputStream();// 获取文件对象
//                    int pos = name.lastIndexOf(".");
//                    String lastname = name.substring(pos, name.length());
//                    //文件保存的路径
//                    String savePath = path + File.separator + r.getFileNaneuuid();
//                    FileUtil.saveFile(savePath, in, r.getFileNaneuuid() + lastname);
//                    r.setProjectMaterialId(data.getProjectMaterialId());//添加id
//                    r.setDirectoryMaterialFilepathId(r.getFileNaneuuid());//附件id
//                    r.setFilename(name);
//                    projectMaterialFilepathService.add(r);
//                }
//            }
//            BaseController.setParameter("msg", "保存成功");
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            model.addAttribute("level", data.getLevel());
//            return "redirect:index";
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    @SysLogger(description = "材料管理信息", moduleName = "材料管理", method = "提交")
//    @RequestMapping(value = "/butSubmit")
//    public String butSubmit(ModelMap model, HttpServletRequest request,
//                            @RequestParam(value = "id", required = false) String id) {
//        try {
//
//            ProjectMaterial data = new ProjectMaterial();
//            data.setProjectMaterialId(id);
//            data = projectMaterialService.queryByPK(data);
//            data.setState(1);
//            projectMaterialService.update(data);
//
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            model.addAttribute("level", data.getLevel());
//
//            model.addAttribute("id", id);
//            return "redirect:/projectmaterial/details";
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    @SysLogger(description = "材料管理信息", moduleName = "材料管理", method = "删除")
//    @RequestMapping(value = "/delete", method = RequestMethod.POST)
//    public String delete(ModelMap model, HttpServletRequest request) {
//        try {
//            String[] idList = request.getParameter("idList").split(",");
//            for (String id : idList) {
//                ProjectMaterial data = new ProjectMaterial();
//                data.setProjectMaterialId(id);
//                projectMaterialService.delete(data);
//
//                ProjectMaterialFilepath noticeNewsFilepath = new ProjectMaterialFilepath();
//                noticeNewsFilepath.setDirectoryMaterialFilepathId(id);
//                List<ProjectMaterialFilepath> listdata = projectMaterialFilepathService
//                    .queryList(noticeNewsFilepath);
//                if (listdata != null && !listdata.isEmpty()) {
//
//                    for (ProjectMaterialFilepath data1 : listdata) {
//
//                        ProjectMaterialFilepath r = new ProjectMaterialFilepath();
//                        r.setDirectoryMaterialFilepathId(data1.getDirectoryMaterialFilepathId());
//                        projectMaterialFilepathService.delete(r);
//                        File file = new File(
//                            upload + File.separator + data1.getDirectoryMaterialFilepathId());
//                        if (file.isDirectory()) {//判断file是否是文件目录 若是返回TRUE
//                            String name[] = file.list();//name存储file文件夹中的文件名
//                            for (int i = 0; i < name.length; i++) {
//                                File f = new File(upload + File.separator
//                                                  + data1.getDirectoryMaterialFilepathId(),
//                                    name[i]);//此时就可得到文件夹中的文件
//                                f.delete();//删除文件
//                            }
//                            FileUtils.forceDelete(new File(
//                                upload + File.separator + data1.getDirectoryMaterialFilepathId())); //最后删除文件目录
//                        }
//                    }
//                }
//
//            }
//
//            BaseController.setParameter("msg", "删除成功");
//            String directoryId = request.getParameter("directoryId");
//            model.addAttribute("directoryId", directoryId);
//            String projectId = request.getParameter("projectId");
//            model.addAttribute("projectId", projectId);
//            model.addAttribute("level", request.getParameter("level"));
//
//            return "redirect:index";
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    /**
//     * 修改删除图片
//     *
//     * @param file
//     * @param request
//     * @param response
//     */
//    @RequestMapping(value = "/source_upload_update", method = RequestMethod.POST)
//    public @ResponseBody Map<String, Object> source_upload_update(@RequestParam("id") String id,
//                                                                  HttpServletRequest request,
//                                                                  HttpServletResponse response) {
//        Map<String, Object> dataMap = new HashMap<String, Object>();
//        try {
//            ProjectMaterialFilepath noticeNewsFilepath = new ProjectMaterialFilepath();
//            noticeNewsFilepath.setDirectoryMaterialFilepathId(id);
//            projectMaterialFilepathService.delete(noticeNewsFilepath);
//
//            File file = new File(upload + File.separator + id);
//            if (file.isDirectory()) {//判断file是否是文件目录 若是返回TRUE
//                String name[] = file.list();//name存储file文件夹中的文件名
//                for (int i = 0; i < name.length; i++) {
//                    File f = new File(upload + File.separator + id, name[i]);//此时就可得到文件夹中的文件
//                    f.delete();//删除文件
//                }
//                FileUtils.forceDelete(new File(upload + File.separator + id)); //最后删除文件目录
//            }
//            dataMap.put("success", "0000");
//        } catch (Exception e) {
//            LOGGER.error("调用services网络异常", e);
//            dataMap.put("success", "-9999");
//        }
//        return dataMap;
//    }
//
//    @RequestMapping(value = "/projectindex")
//    public String projectindex(ModelMap model, HttpServletRequest request) {
//        try {
//            String id = request.getParameter("id");
//            model.addAttribute("id", id);
//            request.setAttribute("msg", BaseController.getParameter("msg"));
//            BaseController.removeParameter("msg");
//            return "project/projectmaterialList";
//        } catch (Exception e) {
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//
//    }
//
//    @RequestMapping(value = "/projectmaterial_List")
//    @ResponseBody
//    public ResponseResult projectmaterial_List(ModelMap model, HttpServletRequest request,
//                                               @RequestParam(value = "rows", required = false) String pageSize,
//                                               @RequestParam(value = "page", required = false) String currentPage,
//                                               @RequestParam(value = "id", required = false) String id,
//                                               ProjectMaterial data) {
//        try {
//
//            /*   if (data.getType() == null) {
//                data.setType(1);
//            }*/
//
//            Page page = new Page();
//            page.setCurrPage(currentPage == null ? 0 : Integer.valueOf(currentPage));
//            page.setPageSize(pageSize == null ? Constant.PageSize : Integer.valueOf(pageSize));
//            BaseController.setSortByColumn(request, "title", "asc");
//
//            if (request.getAttribute("orderField").equals("projectName")) {
//                data.setOrderField("project_name");
//            } else if (request.getAttribute("orderField").equals("directoryName")) {
//                data.setOrderField("d.directory_name");
//            } else if (request.getAttribute("orderField").equals("projectMaterialAddDate")) {
//                data.setOrderField("dm.project_material_add_date");
//            } else if (request.getAttribute("orderField").equals("state")) {
//                data.setOrderField("dm.state");
//            } else if (request.getAttribute("orderField").equals("xz")) {
//                data.setOrderField("title");
//            } else {
//                data.setOrderField((String) request.getAttribute("orderField"));
//            }
//            data.setOrderFlag((String) request.getAttribute("orderFlag"));
//            data.setId(id);
//            PaginationBean<ProjectMaterial> paginationBean = projectMaterialService
//                .projectmaterial_List(data, page);
//
//            String path = request.getContextPath();
//            String basePath = request.getScheme() + "://" + request.getServerName() + ":"
//                              + request.getServerPort() + path;
//
//            java.util.List<ProjectMaterial> datalist = new ArrayList<ProjectMaterial>();
//            if (paginationBean.getPageList() != null && !paginationBean.getPageList().isEmpty()) {
//                for (ProjectMaterial r : paginationBean.getPageList()) {
//
//                    ProjectMaterialFilepath data1 = new ProjectMaterialFilepath();
//                    data1.setProjectMaterialId(r.getProjectMaterialId());
//                    // String Path = request.getSession().getServletContext().getRealPath("/");
//                    List<ProjectMaterialFilepath> dataList = projectMaterialFilepathService
//                        .queryList(data1);
//                    String xz = "";
//                    if (dataList != null && !dataList.isEmpty()) {
//                        for (ProjectMaterialFilepath f : dataList) {
//                            if (xz.length() > 0)
//                                xz += ",";
//                            xz += "&nbsp;<a href=\"" + basePath + "/DownLoadFileServlet?filename="
//                                  + f.getFilename() + "&filepath=" + f.getFilepath() + "\">"
//                                  + f.getFilename() + "<img src=\"" + basePath + "/img/down.png"
//                                  + "\"/></a>";
//
//                        }
//                    }
//                    r.setXz(xz);
//                    datalist.add(r);
//                }
//            }
//
//            ResponseResult result = new ResponseResult();
//            result.setTotal(paginationBean.getTotalRecords());
//            result.setRows(datalist);
//            return result;
//
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//        }
//        return null;
//    }
//
//    @SysLogger(description = "材料退回管理信息", moduleName = "材料退回管理", method = "退回")
//    @RequestMapping(value = "/auditList")
//    public String auditList(ModelMap model, HttpServletRequest request) {
//        try {
//            String[] idList = request.getParameter("idList").split(",");
//            String id = request.getParameter("id");
//
//            ProjectMaterial data = new ProjectMaterial();
//            data.setIds(idList);
//            data.setState(2);
//            projectMaterialService.auditList(data);
//            BaseController.setParameter("msg", "退回成功");
//            model.addAttribute("id", id);
//            return "redirect:projectindex";
//        } catch (Exception e) {
//            e.printStackTrace();
//            LOGGER.error("退回 delete [{}] error," + this.getClass().getName() + "=[{}]",
//                this.getClass().getName(), e.getMessage());
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    /**
//     * 详情页面
//     *
//     * @param model
//     * @param request
//     * @param id
//     * @return
//     */
//    @RequestMapping(value = "/projecti_details", method = RequestMethod.GET)
//    public String projecti_details(ModelMap model, HttpServletRequest request,
//                                   @RequestParam(value = "id") String id,
//                                   @RequestParam(value = "projectId") String projectId) {
//        try {
//
//            ProjectMaterial data = new ProjectMaterial();
//            data.setProjectMaterialId(id);
//            data = projectMaterialService.queryByPK(data);
//
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            data.setDate1(sdf.format(data.getDate()));
//            model.addAttribute("data", data);
//
//            ProjectMaterialFilepath noticeNewsFilepath = new ProjectMaterialFilepath();
//            noticeNewsFilepath.setProjectMaterialId(id);
//            List<ProjectMaterialFilepath> dataList = projectMaterialFilepathService
//                .queryList(noticeNewsFilepath);
//            model.addAttribute("dataList", dataList);
//            model.addAttribute("id", projectId);
//
//            return "project/detailsProjectMaterial";
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//    }
//
//    /**
//     * 添加材料负责人
//     *
//     * @param request
//     * @param directoryName
//     * @param projectId
//     * @param directoryId
//     * @param directoryPrincipal
//     * @return
//     */
//    @RequestMapping(value = "/selectclfzr")
//    public @ResponseBody Map<String, Object> selectclfzr(HttpServletRequest request,
//                                                         @RequestParam(value = "projectId", required = false) Integer projectId,
//                                                         @RequestParam(value = "directoryId", required = false) Integer directoryId,
//                                                         @RequestParam(value = "level", required = false) Integer level,
//                                                         @RequestParam(value = "logo", required = false) Integer logo) {
//        Map<String, Object> dataMap = new HashMap<String, Object>();
//        /*    UserEmployee userEmployee = (UserEmployee) request.getSession()
//            .getAttribute(Constant.LOGIN_CONSOLE_USER);*/
//
//        try {
//            List<Directory> list = null;
//            if (logo.intValue() == 1) {
//                Directory data1 = new Directory();
//                /*    if (userEmployee.getEmid() != null) {
//                   data1.setEmpids(userEmployee.getEmid());
//                }*/
//                data1.setType(logo);
//                data1.setLevel(level);
//                data1.setProjectId(Integer.valueOf(projectId));
//                data1.setDirectoryId(Integer.valueOf(directoryId));
//                list = directoryService.selectProjectByid(data1);
//            } else {
//                Directory data1 = new Directory();
//                /*    if (userEmployee.getEmid() != null) {
//                   data1.setEmpids(userEmployee.getEmid());
//                }*/
//                data1.setType(logo);
//                data1.setLevel(level);
//                data1.setProjectId(Integer.valueOf(projectId));
//                data1.setDirectoryId(Integer.valueOf(directoryId));
//                list = directoryService.selectProjectByid(data1);
//            }
//
//            if (list != null && !list.isEmpty()) {
//                dataMap.put("list", list);
//                dataMap.put("msg", "100");
//            } else {
//                dataMap.put("msg", "-100");
//                return dataMap;
//            }
//        } catch (Exception e) {
//            LOGGER.error("调用services网络异常", e);
//            dataMap.put("msg", "-99");
//        }
//        return dataMap;
//    }
//
//    @RequestMapping(value = "/projectmaterial_List2")
//    public String projectmaterial_List2(ModelMap model, HttpServletRequest request,
//                                        @RequestParam(value = "id", required = false) Integer id,
//                                        ProjectMaterial data) {
//        try {
//            //获取项目
//            Project project = new Project();
//            project.setId(id);
//            project = projectService.queryByPK(project);
//
//            List<ZTreeNode> ztreeList = new ArrayList<ZTreeNode>();
//
//            ZTreeNode rootNode = new ZTreeNode();
//            rootNode.setId(String.valueOf(project.getId()));
//            rootNode.setpId("-1");
//            rootNode.setName(project.getName());
//            rootNode.setT("根目录");
//            ztreeList.add(rootNode);
//            //通过项目id获取目录
//            Directory directory = new Directory();
//            directory.setProjectId(id);
//            java.util.List<Directory> directoryList = directoryService.queryList(directory);
//
//            String status = null;
//            /* for (ProjectMaterial dept : sdtList) {
//                ZTreeNode node = new ZTreeNode();
//                node.setId(String.valueOf(dept.getId()));
//                node.setName(dept.getName() + status);
//                node.setpId(String.valueOf(dept.getPid()));
//                node.setT(dept.getName());
//                ztreeList.add(node);
//            }*/
//            model.addAttribute("tree", binder.toJson(ztreeList));
//        } catch (Exception e) {
//            LOGGER.error(e.getMessage(), e);
//            model.addAttribute(Constant.EXPTION_MSG_KEY, e);
//            return "error/error";
//        }
//        return "project/projectmaterialList2";
//    }
//
//}
